﻿namespace Renci.Data.Interop.OpenGIS.Gml
{
    /// <remarks/>
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AbstractDiscreteCoverageType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(RectifiedGridCoverageType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(GridCoverageType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(MultiSolidCoverageType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(MultiSurfaceCoverageType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(MultiCurveCoverageType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(MultiPointCoverageType))]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(AbstractContinuousCoverageType))]
    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "2.0.50727.3038")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(Namespace = "http://www.opengis.net/gml")]
    public abstract class AbstractCoverageType : AbstractFeatureType
    {
        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("multiPointDomain", Type = typeof(MultiPointDomainType))]
        [System.Xml.Serialization.XmlElementAttribute("multiCurveDomain", Type = typeof(MultiCurveDomainType))]
        [System.Xml.Serialization.XmlElementAttribute("multiSurfaceDomain", Type = typeof(MultiSurfaceDomainType))]
        [System.Xml.Serialization.XmlElementAttribute("multiSolidDomain", Type = typeof(MultiSolidDomainType))]
        [System.Xml.Serialization.XmlElementAttribute("gridDomain", Type = typeof(GridDomainType))]
        [System.Xml.Serialization.XmlElementAttribute("rectifiedGridDomain", Type = typeof(RectifiedGridDomainType))]
        [System.Xml.Serialization.XmlElementAttribute("domainSet", Type = typeof(DomainSetType))]
        public DomainSetType DomainSet { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlElementAttribute("rangeSet")]
        public RangeSetType RangeSet { get; set; }

        /// <remarks/>
        [System.Xml.Serialization.XmlAttributeAttribute("dimension", DataType = "positiveInteger")]
        public string Dimension { get; set; }
    }
}
